/**
在 Node.js 中， Buffer  类是用于处理二进制数据的全局对象。它提供了一种在 Node.js 中处理原始二进制数据的方法，特别是在处理网络通信、文件系统操作等场景中非常重要。
  1. Buffer 的概念
  Buffer  是一种用于存储二进制数据的对象，类似于数组，但它的内容是固定的，不能直接修改长度。 Buffer  对象的大小在创建时确定，并且可以存储任意类型的二进制数据。

  2. 创建 Buffer 对象
  Node.js 提供了几种方法来创建  Buffer  对象：

   2.1 使用  Buffer.alloc(size) 
  - 创建一个指定大小的 Buffer，所有字节初始化为 0。
  - 示例：
    const buf1 = Buffer.alloc(10); // 创建一个大小为 10 字节的 Buffer
    console.log(buf1); // <Buffer 00 00 00 00 00 00 00 00 00 00>
   2.2 使用  Buffer.from(array) 
  - 从一个数组或类数组对象创建 Buffer。
  - 示例：
    const buf2 = Buffer.from([1, 2, 3]); // 从数组创建 Buffer
    console.log(buf2); // <Buffer 01 02 03>
   2.3 使用  Buffer.from(string, encoding) 
  - 从字符串创建 Buffer，可以指定编码格式（如 'utf8'、'ascii' 等）。
  - 示例：
    const buf3 = Buffer.from('Hello, World!', 'utf8');
    console.log(buf3); // <Buffer 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21>
  3. Buffer 的常用方法
  -  buf.toString([encoding], [start], [end]) : 将 Buffer 转换为字符串。
  - 示例：
    const buf4 = Buffer.from('Hello, World!');
    console.log(buf4.toString()); // Hello, World!
  -  buf.length : 获取 Buffer 的字节长度。
  - 示例：
    console.log(buf4.length); // 13
  -  Buffer.concat(list[, totalLength]) : 合并多个 Buffer 对象。
  - 示例：
    const buf5 = Buffer.from('Hello');
    const buf6 = Buffer.from(' World!');
    const buf7 = Buffer.concat([buf5, buf6]);
    console.log(buf7.toString()); // Hello World!
  4. 使用场景
  - 文件操作: 在读取和写入文件时，数据通常以二进制格式处理。
  - 网络通信: 在 TCP、HTTP 等协议中，数据以二进制形式传输。
  - 数据流: 在处理数据流时，Buffer 用于存储流中的数据块。

  5. 总结
  Node.js 的  Buffer  类是处理二进制数据的关键工具，通过创建和操作 Buffer 对象，开发者可以高效地处理各种类型的二进制数据。掌握  Buffer  的使用方法，可以帮助开发者在网络编程、文件处理等方面更好地管理数据。
 */
